plugins {
    id 'java'
    id 'org.springframework.boot' version '3.2.3'
    id 'io.spring.dependency-management' version '1.1.4'
    id 'org.liquibase.gradle' version '2.2.0'
}

group = 'com.kamegatze'
version = '0.0.1-SNAPSHOT'


java {
    sourceCompatibility = '17'
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', "2023.0.1")
    set('aerogearOtp', '1.0.0')
    set('graphQL', '15.1.0')
    set('emailStarter', '3.1.2')
}

dependencies {
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    implementation project(':authorization-remote-jwt')
    implementation project(":general-dto")
    runtimeOnly 'org.postgresql:postgresql'
    implementation 'org.springframework.boot:spring-boot-starter-graphql'
    testImplementation 'org.springframework.graphql:spring-graphql-test'
    implementation "com.graphql-java-kickstart:graphql-spring-boot-starter:${graphQL}"
    implementation "org.springframework.boot:spring-boot-starter-mail:${emailStarter}"
    implementation 'org.thymeleaf:thymeleaf-spring6:3.1.1.RELEASE'
    implementation "org.jboss.aerogear:aerogear-otp-java:${aerogearOtp}"
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

tasks.named('test') {
    useJUnitPlatform()
}
